iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
0
AI & Data

實實在在地學習人工智慧-基礎理論探討與經典案例實作系列 第 14

【Day 14】開始寫程式拉!第三站:重要函式庫-Tensorflow(1/2)

  • 分享至 

  • xImage
  •  

要越來越接近核心了,今天分享的Tensorflow是很常用在機器學習的函式庫,可以說是越來越接近實作案例了!一起繼續努力吧!GOGO!

Tensorflow

https://ithelp.ithome.com.tw/upload/images/20190929/201210492FS7WN7X2Z.jpg
圖片出處
TensorFlow 是一種採用數據流圖(Dataflow Graph)並用於數值計算的開源函式庫,更是一個用於開發機器學習的平台,而且同樣的程式碼可以用CPU執行也可以用GPU執行,並支援許多語言:pyhton、C++、Java、Go...。更簡單的直接一句話概括是,Tensorflow就是Google開發出來的開源機器學習工具/images/emoticon/emoticon07.gif
那為什麼叫Tensorflow呢?
先介紹下Tensorflow會用到的數據流圖(Dataflow Graph),是指Tensorflow會依照數據流圖來根據各操作間的關係來表示計算。概念大概是:
1.定義數據流圖(Dataflow Graph)
2.建立Tensorflow會話(Session),並運行數據流圖
數據流圖(Dataflow Graph)樣子(利用Tensorboard建立的視覺化,之後會提到):
https://ithelp.ithome.com.tw/upload/images/20190929/20121049FsX1UBpq2K.jpg
圖片來源
那名字的由來:
1.Tensor的中文是張量的意思,而張量是「陣列」的廣義說法,所以Tensor可以代表是一維陣列、二維陣列...N維陣列。
2.Flow的中文是流的意思,類似一種流程的想法,就像我們寫程式,宣告變數,傳遞變數,計算,再傳遞...等等,最後輸出,也有流的想法在。然而,Tensorflow的流和上述不太相同,Tensorflow是把所有的節點設好,才用一個叫**sess.run()**來啟動計算圖。
以上就是兩點就是Tensorflow的名稱解釋拉。

先寫一支簡單的程式

https://ithelp.ithome.com.tw/upload/images/20190929/20121049hUybZtUDeV.jpg
(圖片來源:課堂上投影片)
看到上圖就可以看得出來,一般寫程式和在使用Tensorflow時的差別,一般寫程式就是相當邏輯性的寫下來就開始執行了,但Tensorflow在設定完要做的事情後,還要在使用sess.run()來啟動整個程式。但也可以看出其實Tensorflow跟之前學過的語言沒有太大的差別!所以一定可以很快上手的!
那我們先來寫一支簡單的程式吧!

import tensorflow as tf #引入函式庫
x = tf.constant(2) #constant是指不可改變的數字(也就是常數)
#常用語法tf.constant(value,dtype=None,shape=None) 分別是1.數值2.型態3.形狀(幾維)
y = tf.constant(3) 
z = tf.add(x,y) #兩常數相加
with tf.Session() as sess : #幫tf.Session()取個綽號
#且用 with as 當程式結束後會 釋放資源
    print(tf.Session().run(z)) #啟動數據流圖

輸出:

5

會發現跟一般的程式幾乎沒啥不一樣,就是多了tf和最後的啟動數據流圖!

今天介紹了Tensorflow的基本概念,以及寫了一支簡單的程式碼,明天會接續介紹基礎的、相關常用的指令!


上一篇
【Day 13】開始寫程式拉!第三站:重要函式庫-Pandas (2/2)
下一篇
【Day 15】開始寫程式拉!第三站:重要函式庫-Tensorflow(2/2)
系列文
實實在在地學習人工智慧-基礎理論探討與經典案例實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言